import Axios,{ AxiosResponse } from 'axios';
import { ElMessage } from 'element-plus';
import router from '@/router';

// const  baseURL = import.meta.env.PROD ?'https://eyetracker-api.66nao.com':''
const axios = Axios.create({
	// baseURL,
	timeout: 1000 * 60 * 60 * 2,
})
// 请求拦截
axios.interceptors.request.use((config) => {
	// console.log('config',config);
	let token = window.sessionStorage.getItem("token")
	if (token) {
		config.headers.Authorization = token;
	}
	return config;
})
// 响应拦截
axios.interceptors.response.use((response: AxiosResponse) => {
	if (response.data.code == 11012) {
		ElMessage({
			type: 'error',
			message: 'token过期'
		})
		sessionStorage.clear()
		router.push({ name: 'login' })
		return response.data
	} else {
		return response;
	}
}, (error) => {
	let message = '出现异常';
	// const status = error.response.status;
	// switch (status) {
	// 	case 401:
	// 		message = 'token过期';
	// 		break;
	// 	case 403:
	// 		message = '无权访问';
	// 		break;
	// 	case 404:
	// 		message = '请求地址错误';
	// 		break;
	// 	case 500:
	// 		message = '服务器出现问题';
	// 		break;
	// 	default:
	// 		message = '网络出现问题';
	// 		break;
	// }
	// 提示错误
	ElMessage({
		type: 'error',
		message,
	})
	return Promise.reject(error);
})
declare module 'axios'{
	interface AxiosInstance{
		(config:AxiosRequestConfig):Promise<any>
	}
}
export default axios;